The present invention relates generally to an improved data processing system and method, and more specifically to methods for protecting business data using application synchronization across multiple servers.
Protection of business data is a critical part of modern Information Technology (IT) operations. Business data comes in many forms and is managed by a wide variety of business applications including databases, file systems, email applications, online transaction systems, etc. There are a wide variety of data protection systems, methods and techniques for protecting this business data and the business applications that manage that data. These systems, methods, and techniques for data protection include traditional file backups, image backup techniques, storage hardware replication functions, snapshotting, continuous data protection, mirroring, and the like.
Modern business applications and their associated business data are increasingly spread across multiple servers, enabling higher scalability and performance of the applications. In modern application architectures, these applications and data may even be spread across local, regional, national, or in some cases, even global distances. This presents very significant challenges to existing systems, methods and techniques for data protection. One of the most significant challenges this presents is the synchronization of the various components of the application and its associated data in order to obtain a data copy with a consistent view of the application and its data. Without a consistent view of the application and data at some point in time, there is a chance that the application and its data will not be able to be recovered without some level of application or data corruption. This is often due, for example, to inflight transactions that are not complete. This is a problem with any application, even single server applications. Applications that span multiple volumes and multiple servers, especially across distances, present an even more daunting challenge.
One set of prior art in this area is the use of hardware or software snapshotting of volumes, and the grouping of volumes into consistency groups that are replicated together as a group to guarantee their synchronization. One of the key problems with the hardware snapshot solutions approach is that these are implemented at the storage hardware or storage network level and are thus unaware of any required application affinity. The software snapshotting solutions also require additional synchronization with applications as described below.
A solution that brings together the benefits of storage hardware, software, and application-based snapshotting technologies would be advantageous. A solution is sought that can take efficient and consistent snapshots of applications and application data, even across multiple storage devices across a single or multiple servers, and perform in a way that minimizes or eliminates application awareness and downtime, and avoids some of the inherent inefficiencies of some application interfaces.